#pragma execution_character_set("utf-8")
#include "maincontainer.h"
#include "ui_maincontainer.h"

/**
 * @brief 构造函数
 * @param parent 父窗口指针
 */
MainContainer::MainContainer(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainContainer)
{
    ui->setupUi(this);
    stackedWidget = ui->stackedWidget;
    
    // 创建各个功能页面
    initPage = new InitPage(this);
    identifyPage = new MainWindow(this);
    quizPage = new QuizPage(this);
    pricePage = new PricePage(this);
    
    // 设置主容器引用
    initPage->setMainContainer(this);
    identifyPage->setMainContainer(this);
    quizPage->setMainContainer(this);
    pricePage->setMainContainer(this);
    
    // 添加页面到堆栈
    stackedWidget->addWidget(initPage);
    stackedWidget->addWidget(identifyPage);
    stackedWidget->addWidget(quizPage);
    stackedWidget->addWidget(pricePage);
    
    // 设置初始页面
    stackedWidget->setCurrentIndex(InitPageIndex);
}

/**
 * @brief 析构函数
 */
MainContainer::~MainContainer()
{
    delete ui;
    // 子页面会被自动销毁
}

/**
 * @brief 切换到指定页面
 * @param index 页面索引
 */
void MainContainer::switchToPage(PageIndex index)
{
    stackedWidget->setCurrentIndex(index);
}